/**
 * 自动生成的代码，请勿修改
 */
<%# 头部引用，当前接口、类型需要引用的其他的接口、类型、枚举等 -%>
<% if (apifoxRefs.length > 0) { -%>
import { <%= apifoxRefs[0].ref %> } from './<%= apifoxRefs[0].ref %>';
<% } -%>
<% if (refs.length > 0) { -%>
<% refs.forEach(function(ref){ -%>
import { <%= ref.ref %> } from './<%= ref.ref %>';
<% }) -%>
<% } -%>

<%# 如果不是对象和枚举类型，直接生成type类型即可 -%>
<% if (!['OBJECT', 'ENUM'].includes(interfaceType)) { -%>
export type <%= name %> = <%- displayType %>;
<% } -%>
<%# 如果是枚举类型，遍历生成枚举类型 -%>
<% if (interfaceType === 'ENUM') { -%>
export enum <%= name %> {
<% config.forEach(function({ enumKey, enumValue }){ -%>
  <%- enumKey %> = <%- enumValue %>,
<% }) -%>
}
<% } -%>
<%# 如果是对象类型，遍历生成对象类型 -%>
<% if (interfaceType === 'OBJECT') { -%>
export interface <%= name %><% if (apifoxProps.length > 0) { %> extends <%= apifoxRefs[0].ref %><% } %> {
<% Object.entries(config).forEach(function([key, value]){ -%>
<% if (!apifoxProps.includes(key)) { -%>
<% if (value.config.description) { -%>
  /**
   * @description <%= value.config.description %>
   */
<% } -%>
  <%= key %><% if (!value.required) { %>?<% } %>: <%- value.displayType %>;
<% } -%>
<% }) -%>
}
<% } -%>
